import {createRouter, createWebHashHistory, RouteRecordRaw} from 'vue-router'
import Home from '../views/Home.vue'

const routes: Array<RouteRecordRaw> = [
    {
        path: '/',
        name: 'Home',
        component: Home
    },
    {
        path: '/interfaceType',
        name: 'InterfaceType',
        component: () => import(/* webpackChunkName: "interfaceType" */ '../views/InterfaceType.vue')
    },
    {
        path: '/declareNamespace',
        name: 'DeclareNamespace',
        component: () => import(/* webpackChunkName: "declareNamespace" */ '../views/declareNamespace.vue')
    },
    {
        path: '/funcDecorator',
        name: 'FuncDecorator',
        component: () => import(/* webpackChunkName: "funcDecorator" */ '../views/funcDecorator.vue')
    },
    {
        path: '/i18n',
        name: 'I18n',
        component: () => import(/* webpackChunkName: "i18n" */ '../views/I18n.vue')
    },
    {
        path: '/axios',
        name: 'Axios',
        // route level code-splitting
        // this generates a separate chunk (about.[hash].js) for this route
        // which is lazy-loaded when the route is visited.
        component: () => import(/* webpackChunkName: "axios" */ '../views/axios.vue')
    },
    {
        path: '/hooks',
        name: 'Hooks',
        component: () => import(/* webpackChunkName: "hooks" */ '../views/Hooks.vue')
    },
    {
        path: '/iterator',
        name: 'Iterator',
        component: () => import(/* webpackChunkName: "iterator" */ '../views/Iterator.vue')
    },
    {
        path: '/setup',
        name: 'Setup',
        component: () => import(/* webpackChunkName: "setup" */ '../views/Setup.vue')
    },
    {
        path: '/elementPlus',
        name: 'ElementPlus',
        component: () => import(/* webpackChunkName: "elementPlus" */ '../views/ElementPlus.vue')
    }
]

const router = createRouter({
    history: createWebHashHistory(),
    routes
})

export default router
